package cn.rokhdelar.ams.management.domain.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

@Data
@Schema(description = "用户VO实体对象")
public class UserVO {
    @Schema(description = "主键")
    private String id;

    @Schema(description = "用户名")
    private String username;

    @Schema(description = "用户密码，用于创建用户或者修改密码。")
    private String code;

    @Schema(description = "用户权限")
    private List<String> authorities;

    @Schema(description = "角色列表")
    private List<RoleVO> roleList;

    @Schema(description = "用户姓名")
    private String name;

    @Schema(description = "性别")
    private Boolean gender;

    @Schema(description = "电子邮箱")
    private String email;

    @Schema(description = "手机号码")
    private String phone;

    @Schema(description = "职务")
    private String position;

    @Schema(description = "显示顺序")
    private Integer displayNum;

    @Schema(description = "出生日期")
    private LocalDate birthday;

    @Schema(description = "入职日期")
    private LocalDate hireDate;

    @Schema(description = "部门ID")
    private String departmentId;

    @Schema(description = "用户状态：true正常，false禁用")
    private Boolean status;

    @Schema(description = "密码过期时间")
    private LocalDate passwordExpireDate;

    @Schema
    private LocalDateTime createTime;

    @Schema(description = "修改时间")
    private LocalDateTime updateTime;

    @Schema(description = "备注信息")
    private String remark;
}
